草庐IT

php - 以标题行为键的 CSV 到 Json

全部标签

ruby-on-rails - 如何将 Ruby 数组从我的 Heroku 控制台导出为 CSV?

我希望将数组从我的heroku控制台导出到本地CSV文件中。在我目前的情况下,我有一个每日抽成任务,用于查找谈论我的应用程序的推文。我想分析这些推文,看看它们是什么时候进来的,等等:herokurunconsoletweets=Tweet.allcodetoexporttweetsintoalocalCSVfilegoeshere任何想法将不胜感激! 最佳答案 您无法从heroku控制台访问您的本地文件系统。一种选择是使用Tee.Tee将输出同时发送到STDOUT和一个文件,因此您可以拥有打印的所有内容的本地日志。herokurun

ruby - 将行追加到 csv 文件 Ruby 1.9 CSV lib

使用Ruby1.9和CSV库,我似乎无法追加一行。文档中的示例打开文件并覆盖该行。将行附加到文档的正确方法是什么?文档中的示例:require'csv'CSV.open("path/to/file.csv","wb")do|csv|csv 最佳答案 我想你可以改变open来使用ab:CSV.open("t.csv","ab")do|csv| 关于ruby-将行追加到csv文件Ruby1.9CSVlib,我们在StackOverflow上找到一个类似的问题: h

ruby - Ruby 中 '_'(下划线)的奇怪行为

只是好奇而已。如果您打开IRB并键入_,您将得到nil作为响应:irb(main):001:0>_=>nil你可以修改它的值:irb(main):002:0>_='somevalue'irb(main):003:0>_=>"somevalue"但是如果你用_创建一个新变量,它的值会被修改:irb(main):004:0>foo_bar='othervalue'irb(main):005:0>_=>"othervalue"为什么?这是设计决策吗? 最佳答案 irb使用_来引用最后计算的表达式的值。所以你会看到_改变了,即使你没有在前一

ruby-on-rails - Ruby Net::HTTP::Get 和 JSON 响应

我正在尝试连接到API并使用我的Rails应用检索json结果,但它似乎不起作用。举个例子:@request=Net::HTTP::Get.new"http://example.com/?search=thing&format=json"当我在浏览器中尝试url时,它有效!我得到JSON数据,但是当我在Ruby中尝试时,正文为零。>>y@request---!ruby/object:Net::HTTP::Getbody:body_stream:header:accept:-"*/*"user-agent:-Rubymethod:GETpath:http://example.com/?s

ruby-on-rails - 如何对 JSON Controller 进行单元测试?

这是我的Action:defmy_actionstr=...#getjsonstrsomehowrender:json=>strend这是我的测试:test"mytest"dopost(:my_action,{'param'=>"value"}assert_response:successend我想添加另一个断言,即发出的JSON包含一些值。我怎样才能在Controller单元测试中做到这一点,而不是通过解析View结果? 最佳答案 就像上面评论的人一样,这将是一个功能测试。最好的方法可能是发出请求、解析JSON响应主体并将其与预期

ruby - 将对象数组转换为以字段为键的哈希

我有一个对象数组:[#,#,...]我想将其转换为以id为键,以对象为值的散列。现在我是这样做的,但我知道有更好的方法:users=User.all.reduce({})do|hash,user|hash[user.id]=userhashend预期输出:{1=>#,2=>#,...} 最佳答案 users_by_id=User.all.map{|user|[user.id,user]}.to_h如果您使用的是Rails,ActiveSupport会提供Enumerable#index_by:users_by_id=User.all

ruby - 从 CSV 导入 Ruby 数组,将第一个字段作为哈希键,然后在给定的标题行中查找字段的值

也许有人可以帮助我。从像这样的CSV文件开始:Ticker,"Price","MarketCap"ZUMZ,30.00,933.90XTEX,16.02,811.57AAC,9.83,80.02我设法将它们读入数组:require'csv'tickers=CSV.read("stocks.csv",{:headers=>true,:return_headers=>true,:header_converters=>:symbol,:converters=>:all})为了验证数据,这个有效:putstickers[1][:ticker]ZUMZ但是这不是:putstickers[:tic

哈希键的 Ruby 值?

我有一个Ruby散列中的值列表。有没有办法检查key的值,如果它等于“X”,则执行“Y”?我可以使用hash.has_key?测试哈希是否有key,但现在我需要知道ifhash.key=="X"then...? 最佳答案 哈希使用方括号([])进行索引。就像数组一样。但是,哈希不是使用数字索引进行索引,而是使用您用于键的字符串文字或符号进行索引。所以如果你的散列类似于hash={"key1"=>"value1","key2"=>"value2"}您可以使用访问该值hash["key1"]或为了hash={:key1=>"value1

ruby - 如何在 Sinatra 中只解析一次 JSON 请求体并将其暴露给所有路由?

我正在编写一个API,它接收一个JSON负载作为请求正文。为了得到它目前,我正在做这样的事情:post'/doSomething'dorequest.body.rewindrequest_payload=JSON.parserequest.body.read#dosomethingwithrequest_payloadbodyrequest_payload['someKey']end有什么好的方法可以将其抽象出来,这样我就不需要为每条路线都这样做了?我的一些路由比这更复杂,因此使用这种方法,request.body将在每条路由中被重新读取和重新解析多次,我想避免这种情况。有没有办法让r

ruby-on-rails - Ruby 中 as_json 和 to_json 方法的区别

as_json和to_json这两个方法有什么区别。它们相同吗?如果不是,它们之间有什么区别? 最佳答案 to_json返回字符串。as_json返回带有String键的Hash。>{:name=>"KonataIzumi",'age'=>16,1=>2}.to_json"{\"name\":\"KonataIzumi\",\"age\":16,\"1\":2}">{:name=>"KonataIzumi",'age'=>16,1=>2}.as_json{"name"=>"KonataIzumi","age"=>16,"1"=>2}